home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Business Assistant
/
Business Assistant.iso
/
acctg
/
db3plsar
/
prgpmt.prg
< prev
next >
Wrap
Text File
|
1986-08-04
|
5KB
|
205 lines
******************* PAYMENT TO INVOICE.(PRGPMT.PRG)
CLEAR
SET BELL OFF
SET CONFIRM ON
SET TALK OFF
SET EXACT ON
STORE .T. TO OK
DO WHILE OK
STORE ' ' TO MINV
STORE ' ' TO X
STORE CTOD(' / / ') TO MNEWDATE
STORE ' ' TO MCHKNO
STORE ' ' TO MNAME
STORE 0.00 TO MLSTPAY
MNET=0.00
OVER30=0.00
OVER45=0.00
OVER60=0.00
MCHK=0.00
MPAY=0.00
USE CUST INDEX ACCT
CLEAR
@ 8,25 TO 10,52 DOUBLE
@ 9,27 SAY 'Want to enter a payment?'
?
?
STORE ' ' TO OPTION
STORE ' ' TO X
WAIT ' ? ' TO OPTION
IF OPTION='N'
RETURN
ENDIF
CLEAR
?
?
ACCEPT " Enter acct number " TO X
IF X=' '
? CHR(7)
@ 15,40 SAY 'NO FIND'
LOOP
ENDIF
FIND &X
IF (EOF() .OR. BOF())
@ 2,0 CLEAR
*? CHR(7)
@ 6,20 SAY " I can't find an account for # &X ..."
LOOP
ENDIF (EOF() .OR. BOF())
CLEA
@ 5,12 TO 12,65 DOUBLE
@ 11,29 SAY 'Net due $ '+STR(NET,9,2)
@ 6,15 SAY NAME
@ 6,50 SAY ACCT
@ 8,15 SAY ADDRESS
@ 8,50 SAY CITY
IF UCREDIT > 0.00
SET COLOR TO /W
@ 10,15 SAY 'Unapplied credits '
@ 10,32 SAY UCREDIT
SET COLOR TO W
ENDIF
@ 13,25 SAY 'Is this the correct account?'
@ 14,0 SAY ' '
WAIT ' ? ' TO OPTION
IF OPTION='N'
LOOP
ENDIF
CLEAR
STORE LOWER(TRIM(NAME)) TO MNAME
STORE 0 TO T
STORE LEN(MNAME) TO T
STORE (80-T)/2 TO T
@ 0,23 TO 14,60 DOUBLE
@ 1,T SAY MNAME
@ 3,25 SAY 'Date last check received '
@ 3,51 SAY NEWDATE
@ 5,25 SAY 'New check date ' GET MNEWDATE
@ 7,25 SAY 'Last check number '
@ 7,44 SAY CHKNO
@ 9,25 SAY 'New check number ' GET MCHKNO PICTURE 'XXXXXXXXXXXXXXX'
@ 11,25 SAY 'Last amount of check '
@ 11,47 SAY LSTPAY
@ 13,25 SAY 'New check amount ' GET MLSTPAY PICTURE '999999.99'
@ 23,10 SAY 'If check number is blank none of the above will be ì
changed'
READ
IF MCHKNO<>' '
REPLACE CHKNO WITH MCHKNO
REPLACE LSTPAY WITH MLSTPAY
REPLACE NEWDATE WITH MNEWDATE
ENDIF
@ 15,34 SAY 'Is this correct?'
?
WAIT ' ? ' TO OPTION
IF OPTION='N'
EDIT RECNO()
ENDIF
CLEAR
STORE LSTPAY TO MCHK
STORE .T. TO MORE
DO WHILE MORE
SET HEADING OFF
USE INV INDEX ACCTS
CLEAR
@ 3,31 SAY 'Just a moment...'
FIND &X
IF EOF()
? CHR(7)
@ 2,0 CLEAR
? [ Holy credits Batman, &MNAME has no invoices.]
?
?
?
WAIT ' Press any bat key to continue...'
?
? ' Keep the check Robin'
?
RETURN
ENDIF
USE INV
CLEA
@ 0,T SAY MNAME
? ' Inv.# PO # Date Price Credits Payments ì
Due'
? ' ì
~~~~~ ~~~~ ~~~~ ~~~~~ ~~~~~~~ ~~~~~~~~ ~~~'
DISPLAY ALL OFF INVNO,PONO,NEWDATE,PRICE,CRINV,AMTAPPL,NET FOR ì
ACCT=X
STORE 1 TO POS
IF POS=16
STORE 1 TO POS
ENDIF
STORE ' ' TO MINV
@ 17,66 CLEAR
@ 17,66 SAY '|~~~~~~~~~~~~~'
@ 18,66 SAY '|'
@ 19,66 SAY '|'
@ 20,66 SAY '|'
@ 21,66 SAY '|'
@ 22,66 SAY '|'
@ 23,66 SAY '|_____________'
@ 18,67 SAY 'Bal'
@ 18,71 SAY STR(MCHK-MPAY,7,2)
@ 19,67 SAY '-------------'
@ 20,67 SAY 'Inv#' GET MINV
READ
IF MINV=' '
RETURN
ENDIF
SET COLOR TO /W
@ POS,67 SAY MINV
@ 20,67 SAY 'WAIT'
LOCATE FOR INVNO = MINV .AND. ACCT = X
SET COLOR TO W
IF EOF()
? CHR(7)
@ 22,70 SAY 'NO'
LOOP
ENDIF
@ 20,67 SAY 'Inv#'
@ 22,67 SAY '$' GET AMTAPPL
READ
STORE 0.00 TO SUBTOT
STORE AMTAPPL TO SUBTOT
REPLACE NET WITH PRICE-AMTAPPL-CRINV
@ POS,72 SAY STR(SUBTOT,6,2)
IF NET<=0.00
REPLACE PAYDATE WITH MNEWDATE
ENDIF
STORE AMTAPPL+MPAY TO MPAY
IF NET<=0.00
REPLACE PAID WITH .T.
ENDIF
@ 18,71 SAY STR(MCHK-MPAY,7,2)
@ 20,61 CLEAR
@ 23,69 SAY 'STOP? '
WAIT ' ì
Y or N 'TO OPTION
STORE POS+1 TO POS
IF OPTION='N'
LOOP
ENDIF
IF OPTION = 'Y'
CLEAR
@ 15,T SAY MNAME
SET EXACT ON
SUM NET FOR ACCT=X TO MNET
SET TALK ON
USE CUST INDEX ACCT
FIND &X
REPLACE ALLPAY WITH ALLPAY+MCHK
REPLACE NET WITH MNET
CLEA
SET TALK OFF
ENDIF
STORE .F. TO MORE
*STORE .F. TO OK
ENDDO
ENDDO
*RETURN
SET HEADING OFF
LOOP
SET CONFIRM OFF
*RETURN